package com.itbupt.infrastructure.dao;

import com.itbupt.infrastructure.dao.po.NotifyTask;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @Author dingchang
 * @Date 2025/4/30 18:32
 * @Description: 回调任务
 */

@Mapper
public interface INotifyTaskDao {

    /**
     * 插入一条任务回调记录
     * @param notifyTask
     */
    void insert(NotifyTask notifyTask);

    /**
     * 查询未执行的任务回调记录
     * @return
     */
    List<NotifyTask> queryUnExecutedNotifyTaskList();

    /**
     * 查询指定teamId下 未执行的回调任务记录
     * @param teamId
     * @return
     */
    NotifyTask queryUnExecutedNotifyTaskByTeamId(String teamId);

    /**
     * 更新回调状态为 1 - 完成
     * @param teamId
     * @return
     */
    int updateNotifyTaskStatusSuccess(String teamId);

    /**
     * 更新回调状态为 3 - 失败
     * @param teamId
     * @return
     */
    int updateNotifyTaskStatusError(String teamId);

    /**
     * 更新回调状态为 2 - 重试
     * @param teamId
     * @return
     */
    int updateNotifyTaskStatusRetry(String teamId);

}
